package com.sky.common.enums;

import com.baomidou.mybatisplus.annotation.IEnum;


/**
 * 控制模式
 */
public enum ControlMode implements IEnum<Integer> {

    /**
     * onvif协议通信
     */
    onvif(1,"常规"),

    /**
     * pan、tilt、distance
     */
    ptd(2,"PTD");

    /**
     * 模式编号
     */
    private final int modeNum;

    /**
     * 模式名称
     */
    private final String modeName;

    /**
     * 构造器
     * @param modeNum  模式编号
     * @param modeName 模式名称
     */
    ControlMode(int modeNum, String modeName) {
        this.modeNum = modeNum;
        this.modeName = modeName;
    }


    @Override
    public Integer getValue() {
        return modeNum;
    }

    public String getModeName() {
        return modeName;
    }

    /**
     * 通过编号查询控制模式
     * @param value  编号
     * @return 控制模式
     */
    public static ControlMode valueOf(Integer value){
        for (ControlMode mode : values()) {
            if (mode.modeNum == value) {
                return mode;
            }
        }
        return null;
    }
}
